(set-info :source |fuzzsmt|)
(set-info :smt-lib-version 2.0)
(set-info :category "random")
(set-info :status unknown)
(set-logic QF_UFBV)
(declare-fun f0 ( (_ BitVec 7) (_ BitVec 4) (_ BitVec 5)) (_ BitVec 12))
(declare-fun p0 ( (_ BitVec 11) (_ BitVec 16)) Bool)
(declare-fun v0 () (_ BitVec 3))
(declare-fun v1 () (_ BitVec 5))
(declare-fun v2 () (_ BitVec 4))
(declare-fun v3 () (_ BitVec 15))
(assert (let ((e4(_ bv18 5)))
(let ((e5(_ bv30 5)))
(let ((e6 (! ((_ rotate_left 2) v0) :named term6)))
(let ((e7 (! (bvand ((_ sign_extend 11) v2) v3) :named term7)))
(let ((e8 (! (ite (p0 ((_ zero_extend 8) e6) ((_ zero_extend 1) v3)) (_ bv1 1) (_ bv0 1)) :named term8)))
(let ((e9 (! (bvsub v2 ((_ zero_extend 1) e6)) :named term9)))
(let ((e10 (! (bvnor ((_ zero_extend 14) e8) v3) :named term10)))
(let ((e11 (! (bvnot v1) :named term11)))
(let ((e12 (! (ite (bvsge e10 ((_ zero_extend 10) e4)) (_ bv1 1) (_ bv0 1)) :named term12)))
(let ((e13 (! (ite (distinct e9 ((_ sign_extend 3) e8)) (_ bv1 1) (_ bv0 1)) :named term13)))
(let ((e14 (! (f0 ((_ zero_extend 4) e6) ((_ extract 3 0) e4) ((_ zero_extend 4) e8)) :named term14)))
(let ((e15 (! (bvnand e10 ((_ zero_extend 11) v2)) :named term15)))
(let ((e16 (! (bvcomp e7 e15) :named term16)))
(let ((e17 (! ((_ rotate_left 0) v2) :named term17)))
(let ((e18 (! (bvadd ((_ zero_extend 1) v2) e5) :named term18)))
(let ((e19 (! (bvule e11 ((_ sign_extend 2) e6)) :named term19)))
(let ((e20 (! (p0 ((_ zero_extend 10) e12) ((_ zero_extend 11) e5)) :named term20)))
(let ((e21 (! (distinct e6 ((_ sign_extend 2) e13)) :named term21)))
(let ((e22 (! (bvule ((_ sign_extend 2) e12) v0) :named term22)))
(let ((e23 (! (bvule ((_ zero_extend 2) v0) e18) :named term23)))
(let ((e24 (! (bvult ((_ sign_extend 2) v0) e4) :named term24)))
(let ((e25 (! (distinct ((_ sign_extend 2) e6) e4) :named term25)))
(let ((e26 (! (p0 ((_ sign_extend 7) v2) ((_ sign_extend 12) v2)) :named term26)))
(let ((e27 (! (= ((_ sign_extend 12) e6) v3) :named term27)))
(let ((e28 (! (bvsle e18 e18) :named term28)))
(let ((e29 (! (bvsge v1 ((_ sign_extend 1) e9)) :named term29)))
(let ((e30 (! (bvsgt ((_ sign_extend 4) e13) e11) :named term30)))
(let ((e31 (! (= e15 ((_ zero_extend 12) e6)) :named term31)))
(let ((e32 (! (= ((_ zero_extend 9) e6) e14) :named term32)))
(let ((e33 (! (bvsle ((_ zero_extend 1) v2) e18) :named term33)))
(let ((e34 (! (= ((_ sign_extend 11) e17) e10) :named term34)))
(let ((e35 (! (distinct ((_ sign_extend 1) v2) e18) :named term35)))
(let ((e36 (! (bvsge e17 e9) :named term36)))
(let ((e37 (! (bvsgt e5 ((_ sign_extend 4) e13)) :named term37)))
(let ((e38 (! (bvsle e6 ((_ sign_extend 2) e13)) :named term38)))
(let ((e39 (! (bvult e11 ((_ zero_extend 1) v2)) :named term39)))
(let ((e40 (! (bvule e5 v1) :named term40)))
(let ((e41 (! (bvslt v2 ((_ zero_extend 1) v0)) :named term41)))
(let ((e42 (! (bvsgt ((_ sign_extend 4) e13) e18) :named term42)))
(let ((e43 (! (p0 ((_ extract 14 4) v3) ((_ zero_extend 15) e16)) :named term43)))
(let ((e44 (! (= ((_ sign_extend 2) e6) e5) :named term44)))
(let ((e45 (! (bvule e5 ((_ zero_extend 1) e9)) :named term45)))
(let ((e46 (! (bvslt e15 e10) :named term46)))
(let ((e47 (! (bvult ((_ zero_extend 3) e14) v3) :named term47)))
(let ((e48 (! (bvsle e18 ((_ sign_extend 2) v0)) :named term48)))
(let ((e49 (! (p0 ((_ sign_extend 6) v1) ((_ zero_extend 12) e17)) :named term49)))
(let ((e50 (! (bvsle v3 ((_ zero_extend 10) e11)) :named term50)))
(let ((e51 (! (bvult v3 ((_ zero_extend 14) e8)) :named term51)))
(let ((e52 (! (bvugt v1 e18) :named term52)))
(let ((e53 (! (p0 ((_ sign_extend 6) v1) ((_ sign_extend 15) e8)) :named term53)))
(let ((e54 (! (bvugt ((_ zero_extend 12) e6) e10) :named term54)))
(let ((e55 (! (distinct e13 e13) :named term55)))
(let ((e56 (! (bvsge e11 ((_ zero_extend 2) e6)) :named term56)))
(let ((e57 (! (bvuge e15 ((_ sign_extend 14) e13)) :named term57)))
(let ((e58 (! (bvsge ((_ zero_extend 2) e6) v1) :named term58)))
(let ((e59 (! (bvsgt e7 ((_ zero_extend 14) e13)) :named term59)))
(let ((e60 (! (or e25 e38) :named term60)))
(let ((e61 (! (xor e29 e47) :named term61)))
(let ((e62 (! (=> e53 e21) :named term62)))
(let ((e63 (! (= e43 e35) :named term63)))
(let ((e64 (! (not e27) :named term64)))
(let ((e65 (! (or e32 e51) :named term65)))
(let ((e66 (! (ite e50 e31 e64) :named term66)))
(let ((e67 (! (not e36) :named term67)))
(let ((e68 (! (not e41) :named term68)))
(let ((e69 (! (xor e65 e39) :named term69)))
(let ((e70 (! (ite e54 e52 e67) :named term70)))
(let ((e71 (! (or e42 e70) :named term71)))
(let ((e72 (! (xor e24 e30) :named term72)))
(let ((e73 (! (and e63 e34) :named term73)))
(let ((e74 (! (not e56) :named term74)))
(let ((e75 (! (or e73 e22) :named term75)))
(let ((e76 (! (= e61 e48) :named term76)))
(let ((e77 (! (= e57 e74) :named term77)))
(let ((e78 (! (= e68 e37) :named term78)))
(let ((e79 (! (and e46 e49) :named term79)))
(let ((e80 (! (or e71 e23) :named term80)))
(let ((e81 (! (and e66 e77) :named term81)))
(let ((e82 (! (xor e58 e44) :named term82)))
(let ((e83 (! (ite e45 e69 e62) :named term83)))
(let ((e84 (! (ite e26 e26 e28) :named term84)))
(let ((e85 (! (or e76 e78) :named term85)))
(let ((e86 (! (and e82 e85) :named term86)))
(let ((e87 (! (ite e86 e83 e83) :named term87)))
(let ((e88 (! (= e40 e79) :named term88)))
(let ((e89 (! (=> e19 e59) :named term89)))
(let ((e90 (! (and e75 e60) :named term90)))
(let ((e91 (! (=> e81 e88) :named term91)))
(let ((e92 (! (xor e72 e89) :named term92)))
(let ((e93 (! (or e33 e92) :named term93)))
(let ((e94 (! (and e91 e90) :named term94)))
(let ((e95 (! (or e55 e55) :named term95)))
(let ((e96 (! (and e93 e93) :named term96)))
(let ((e97 (! (=> e80 e94) :named term97)))
(let ((e98 (! (not e84) :named term98)))
(let ((e99 (! (or e96 e87) :named term99)))
(let ((e100 (! (=> e99 e99) :named term100)))
(let ((e101 (! (xor e20 e98) :named term101)))
(let ((e102 (! (or e97 e95) :named term102)))
(let ((e103 (! (= e101 e100) :named term103)))
(let ((e104 (! (not e102) :named term104)))
(let ((e105 (! (=> e103 e104) :named term105)))
e105
)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

(check-sat)
(set-option :regular-output-channel "/dev/null")
(get-model)
(get-value (term6))
(get-value (term7))
(get-value (term8))
(get-value (term9))
(get-value (term10))
(get-value (term11))
(get-value (term12))
(get-value (term13))
(get-value (term14))
(get-value (term15))
(get-value (term16))
(get-value (term17))
(get-value (term18))
(get-value (term19))
(get-value (term20))
(get-value (term21))
(get-value (term22))
(get-value (term23))
(get-value (term24))
(get-value (term25))
(get-value (term26))
(get-value (term27))
(get-value (term28))
(get-value (term29))
(get-value (term30))
(get-value (term31))
(get-value (term32))
(get-value (term33))
(get-value (term34))
(get-value (term35))
(get-value (term36))
(get-value (term37))
(get-value (term38))
(get-value (term39))
(get-value (term40))
(get-value (term41))
(get-value (term42))
(get-value (term43))
(get-value (term44))
(get-value (term45))
(get-value (term46))
(get-value (term47))
(get-value (term48))
(get-value (term49))
(get-value (term50))
(get-value (term51))
(get-value (term52))
(get-value (term53))
(get-value (term54))
(get-value (term55))
(get-value (term56))
(get-value (term57))
(get-value (term58))
(get-value (term59))
(get-value (term60))
(get-value (term61))
(get-value (term62))
(get-value (term63))
(get-value (term64))
(get-value (term65))
(get-value (term66))
(get-value (term67))
(get-value (term68))
(get-value (term69))
(get-value (term70))
(get-value (term71))
(get-value (term72))
(get-value (term73))
(get-value (term74))
(get-value (term75))
(get-value (term76))
(get-value (term77))
(get-value (term78))
(get-value (term79))
(get-value (term80))
(get-value (term81))
(get-value (term82))
(get-value (term83))
(get-value (term84))
(get-value (term85))
(get-value (term86))
(get-value (term87))
(get-value (term88))
(get-value (term89))
(get-value (term90))
(get-value (term91))
(get-value (term92))
(get-value (term93))
(get-value (term94))
(get-value (term95))
(get-value (term96))
(get-value (term97))
(get-value (term98))
(get-value (term99))
(get-value (term100))
(get-value (term101))
(get-value (term102))
(get-value (term103))
(get-value (term104))
(get-value (term105))
(get-info :all-statistics)
